// 经纪人页面专用脚本
document.addEventListener('DOMContentLoaded', function() {
    // 初始化行业筛选功能
    initIndustryFilter();
    
    // 初始化播放按钮功能
    initVideoPlayer();
    
    // 初始化案例轮播
    initCaseSlider();
    
    // 初始化Tab栏切换功能
    initTabBar();
    
    // 处理图片加载错误
    handleImageErrors();
    
    // 初始化推荐经纪人点击事件
    initRecommendAgentClick();
    
    // 初始化所有经纪人卡片点击事件
    initAgentCardClick();
});

// 行业筛选功能
function initIndustryFilter() {
    const industryItems = document.querySelectorAll('.industry-item');
    
    industryItems.forEach(item => {
        item.addEventListener('click', function() {
            // 移除所有行业项的active类
            industryItems.forEach(i => i.classList.remove('active'));
            
            // 为当前点击的行业项添加active类
            this.classList.add('active');
            
            // 获取行业名称
            const industry = this.querySelector('span').textContent.trim();
            
            // 筛选经纪人
            filterAgentsByIndustry(industry);
        });
    });
}

// 根据行业筛选经纪人
function filterAgentsByIndustry(industry) {
    // 获取所有经纪人卡片
    const agentCards = document.querySelectorAll('.agent-card');
    
    // 如果选择"全部"，则显示所有经纪人
    if (industry === '全部') {
        agentCards.forEach(card => {
            card.style.display = 'block';
        });
        return;
    }
    
    // 否则筛选包含该行业标签的经纪人
    agentCards.forEach(card => {
        const specialties = card.querySelectorAll('.specialty');
        let hasIndustry = false;
        
        specialties.forEach(specialty => {
            if (specialty.textContent.includes(industry)) {
                hasIndustry = true;
            }
        });
        
        // 设置显示或隐藏
        card.style.display = hasIndustry ? 'block' : 'none';
    });
    
    // 检查是否有组没有显示的卡片
    const agentGroups = document.querySelectorAll('.agents-group');
    agentGroups.forEach(group => {
        const visibleCards = group.querySelectorAll('.agent-card[style="display: block;"]');
        if (visibleCards.length === 0) {
            group.style.display = 'none';
        } else {
            group.style.display = 'block';
        }
    });
}

// 视频播放器功能
function initVideoPlayer() {
    const playBtn = document.querySelector('.play-btn');
    const introVideo = document.querySelector('.intro-video');
    
    if (playBtn && introVideo) {
        playBtn.addEventListener('click', function() {
            // 实际项目中应创建视频元素并播放
            // 这里使用弹窗模拟视频播放
            alert('视频播放功能正在开发中，敬请期待！');
        });
    }
}

// 案例轮播功能
function initCaseSlider() {
    const prevBtn = document.querySelector('.case-prev');
    const nextBtn = document.querySelector('.case-next');
    const dots = document.querySelectorAll('.dot');
    
    if (prevBtn && nextBtn && dots.length > 0) {
        // 当前案例索引
        let currentCaseIndex = 0;
        
        // 案例数据（实际项目中应从服务器获取）
        const caseData = [
            {
                name: '小王 | 计算机专业',
                tag: '从普通二本到BAT',
                content: '"通过张明老师6个月的指导，我从一个普通二本院校的学生成功拿到了字节跳动的offer，薪资比我预期高出40%！整个过程中，老师不仅帮我优化了简历，还针对我的情况制定了详细的学习计划和项目实践方案，让我在面试中脱颖而出。"',
                result: '成功入职字节跳动',
                salary: '+40%'
            },
            {
                name: '李明 | 金融专业',
                tag: '从校园到华尔街',
                content: '"王静老师帮助我规划了金融行业的职业路径，经过3个月的准备，我成功通过了高盛的多轮面试，现在已经正式入职。老师的行业资源和专业指导让我少走了很多弯路，极大提升了我的竞争力。"',
                result: '入职高盛投行部门',
                salary: '+60%'
            },
            {
                name: '张颖 | 教育专业',
                tag: '从普通老师到教学主管',
                content: '"作为一名普通教师，我一直想在教育行业有更大的发展。在刘芳老师的建议下，我开始转向教育管理方向，系统学习了课程设计和团队管理技能，现在已经成功升职为教学主管，薪资和影响力都有了质的提升。"',
                result: '晋升为教学主管',
                salary: '+25%'
            }
        ];
        
        // 下一个案例
        nextBtn.addEventListener('click', function() {
            currentCaseIndex = (currentCaseIndex + 1) % caseData.length;
            updateCaseDisplay();
        });
        
        // 上一个案例
        prevBtn.addEventListener('click', function() {
            currentCaseIndex = (currentCaseIndex - 1 + caseData.length) % caseData.length;
            updateCaseDisplay();
        });
        
        // 点击指示点
        dots.forEach((dot, index) => {
            dot.addEventListener('click', function() {
                currentCaseIndex = index;
                updateCaseDisplay();
            });
        });
        
        // 更新案例显示
        function updateCaseDisplay() {
            // 获取当前案例数据
            const currentCase = caseData[currentCaseIndex];
            
            // 更新DOM元素
            const userDetailsTitle = document.querySelector('.user-details h3');
            const userDetailsTag = document.querySelector('.user-details p');
            const caseContent = document.querySelector('.case-content');
            const resultType = document.querySelector('.result-item:first-child p');
            const resultSalary = document.querySelector('.result-item:last-child p');
            
            if (userDetailsTitle && userDetailsTag && caseContent && resultType && resultSalary) {
                userDetailsTitle.textContent = currentCase.name;
                userDetailsTag.textContent = currentCase.tag;
                caseContent.textContent = currentCase.content;
                resultType.textContent = currentCase.result;
                resultSalary.textContent = currentCase.salary;
            }
            
            // 更新指示点状态
            dots.forEach((dot, index) => {
                if (index === currentCaseIndex) {
                    dot.classList.add('active');
                } else {
                    dot.classList.remove('active');
                }
            });
        }
    }
}

// Tab栏切换功能
function initTabBar() {
    const tabItems = document.querySelectorAll('.tab-bar .tab-item');
    
    tabItems.forEach((tab, index) => {
        tab.addEventListener('click', function() {
            // 移除所有标签的active类
            tabItems.forEach(t => t.classList.remove('active'));
            // 为当前点击的标签添加active类
            this.classList.add('active');
            
            // 如果点击的不是当前页面，则跳转
            if (index !== 2) { // 2对应经纪人标签
                switch(index) {
                    case 0: // 首页
                        window.location.href = '../index.html';
                        break;
                    case 1: // 发现
                        window.location.href = 'discover.html';
                        break;
                    case 3: // 我的
                        window.location.href = 'profile.html';
                        break;
                }
            }
        });
    });
}

// 咨询按钮功能
document.addEventListener('DOMContentLoaded', function() {
    const consultButtons = document.querySelectorAll('.consult-btn');
    
    consultButtons.forEach(button => {
        button.addEventListener('click', function() {
            const agentName = this.closest('.card-body').querySelector('h3').textContent;
            const agentTitle = this.closest('.card-body').querySelector('.title').textContent;
            
            // 显示预约模态框（实际项目中应有更完善的UI）
            if (confirm(`确定要预约 ${agentName}（${agentTitle}）的咨询服务吗？`)) {
                // 获取服务信息
                const services = this.closest('.card-body').querySelectorAll('.service-card');
                let serviceOptions = '请选择要预约的服务：\n';
                
                services.forEach((service, index) => {
                    const serviceName = service.querySelector('h4').textContent;
                    const servicePrice = service.querySelector('.price').textContent;
                    serviceOptions += `${index + 1}. ${serviceName} (${servicePrice})\n`;
                });
                
                // 提示用户选择服务（实际项目中应有更友好的UI）
                const serviceChoice = prompt(serviceOptions, '1');
                
                if (serviceChoice) {
                    // 模拟预约成功
                    this.textContent = '已预约';
                    this.disabled = true;
                    this.style.backgroundColor = '#999';
                    
                    // 显示成功提示
                    showToast('预约成功，稍后会有客服联系您');
                    
                    // 实际项目中这里会发送预约请求到服务器
                    console.log('预约咨询:', {
                        经纪人: agentName, 
                        职位: agentTitle,
                        服务选择: serviceChoice
                    });
                }
            }
        });
    });
});

// 显示提示消息
function showToast(message) {
    // 创建提示框元素
    const toast = document.createElement('div');
    toast.className = 'toast';
    toast.textContent = message;
    
    // 设置提示框样式
    toast.style.position = 'fixed';
    toast.style.top = '60px';
    toast.style.left = '50%';
    toast.style.transform = 'translateX(-50%)';
    toast.style.padding = '8px 16px';
    toast.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
    toast.style.color = '#fff';
    toast.style.borderRadius = '4px';
    toast.style.zIndex = '1000';
    toast.style.opacity = '0';
    toast.style.transition = 'opacity 0.3s ease';
    
    // 将提示框添加到body
    document.body.appendChild(toast);
    
    // 显示提示框
    setTimeout(() => {
        toast.style.opacity = '1';
    }, 10);
    
    // 2秒后隐藏并移除提示框
    setTimeout(() => {
        toast.style.opacity = '0';
        setTimeout(() => {
            document.body.removeChild(toast);
        }, 300);
    }, 2000);
}

// 处理图片加载错误
function handleImageErrors() {
    // 预加载图片数据
    const images = document.querySelectorAll('img');
    
    // 生成随机ID的函数，用于确保获取不同的图片
    const generateRandomId = () => Math.floor(Math.random() * 100) + 1;
    
    images.forEach(img => {
        img.addEventListener('error', function() {
            // 获取图片尺寸
            const width = this.width || this.getAttribute('width') || 300;
            const height = this.height || this.getAttribute('height') || 300;
            
            // 获取图片类别（根据类名或父元素判断）
            let category = '';
            
            // 确定图片类别
            if (this.classList.contains('agent-avatar') || this.closest('.agent-top')) {
                category = 'agents';
            } else if (this.classList.contains('company-logo') || this.closest('.company-section')) {
                category = 'logos';
            } else if (this.classList.contains('intro-img') || this.closest('.intro-section')) {
                category = 'intro';
            } else if (this.classList.contains('avatar') || this.parentElement.classList.contains('avatar-container')) {
                category = 'avatars';
            } else {
                category = 'default';
            }
            
            // 生成随机ID
            const randomId = generateRandomId();
            
            // 选择图片源
            let imageSrc = '';
            
            // 为不同类型的图片选择更好的替代图片
            if (category === 'agents' || category === 'avatars') {
                // 使用专业的头像服务
                imageSrc = `https://i.pravatar.cc/${width}?img=${randomId}`;
            } else if (category === 'logos') {
                imageSrc = `https://source.unsplash.com/random/${width}x${height}/?company,office,corporate/${randomId}`;
            } else if (category === 'intro') {
                imageSrc = `https://source.unsplash.com/random/${width}x${height}/?professional,career/${randomId}`;
            } else {
                // 默认图片
                imageSrc = `https://source.unsplash.com/random/${width}x${height}/?professional/${randomId}`;
            }
            
            // 设置图片源
            this.src = imageSrc;
            
            // 设置样式
            if (category === 'agents' || category === 'avatars') {
                this.style.objectFit = 'cover';
                this.style.borderRadius = '50%';
            } else {
                this.style.objectFit = 'cover';
            }
            
            // 增加图片加载质量和显示效果
            this.setAttribute('loading', 'eager');
            this.style.backgroundColor = '#f0f0f0';
        });
    });
    
    // 强制触发一次所有图片的加载检查
    setTimeout(() => {
        images.forEach(img => {
            // 检查图片是否已经加载成功
            if (img.complete && img.naturalWidth > 0) {
                return; // 图片已加载成功，不需处理
            }
            
            // 清除src然后重新设置，强制触发加载事件
            const originalSrc = img.src;
            if (originalSrc) {
                img.src = '';
                img.src = originalSrc;
            } else {
                img.dispatchEvent(new Event('error'));
            }
        });
    }, 100);
}

// 初始化推荐经纪人点击事件
function initRecommendAgentClick() {
    const agentCards = document.querySelectorAll('.agent-card-sm');
    
    agentCards.forEach((card, index) => {
        card.addEventListener('click', function(e) {
            // 如果点击的是预约按钮，则不跳转
            if (e.target.classList.contains('book-btn') || 
                e.target.closest('.book-btn')) {
                e.stopPropagation();
                
                // 获取经纪人名称
                const agentName = this.querySelector('.agent-name').textContent;
                showToast(`您正在预约 ${agentName} 的服务，该功能正在开发中...`);
                return;
            }
            
            // 根据索引获取对应的经纪人ID
            const agentId = `agent${index + 1}`;
            
            // 跳转到经纪人详情页
            window.location.href = `agent-detail.html?id=${agentId}`;
        });
    });
    
    // 单独处理预约按钮点击事件
    const bookButtons = document.querySelectorAll('.agent-card-sm .book-btn');
    bookButtons.forEach(btn => {
        btn.addEventListener('click', function(e) {
            e.stopPropagation();
            
            // 获取经纪人名称
            const agentName = this.closest('.agent-card-sm').querySelector('.agent-name').textContent;
            showToast(`您正在预约 ${agentName} 的服务，该功能正在开发中...`);
        });
    });
}

// 初始化所有经纪人卡片点击事件
function initAgentCardClick() {
    const agentCards = document.querySelectorAll('.agent-card');
    
    agentCards.forEach((card, index) => {
        // 为查看详情按钮添加点击事件
        const detailBtn = card.querySelector('.detail-btn');
        if (detailBtn) {
            detailBtn.addEventListener('click', function(e) {
                e.stopPropagation();
                
                // 获取经纪人名称
                const agentName = card.querySelector('.name-rating h3').textContent;
                
                // 根据名称确定经纪人ID
                let agentId;
                switch(agentName) {
                    case '张明':
                        agentId = 'agent1';
                        break;
                    case '王静':
                        agentId = 'agent2';
                        break;
                    case '李华':
                        agentId = 'agent3';
                        break;
                    default:
                        agentId = `agent${index + 1}`;
                }
                
                // 跳转到经纪人详情页
                window.location.href = `agent-detail.html?id=${agentId}`;
            });
        }
        
        // 为咨询按钮添加点击事件
        const consultBtn = card.querySelector('.consult-btn');
        if (consultBtn) {
            consultBtn.addEventListener('click', function(e) {
                e.stopPropagation();
                
                // 获取经纪人名称
                const agentName = card.querySelector('.name-rating h3').textContent;
                showToast(`您正在预约 ${agentName} 的咨询，该功能正在开发中...`);
            });
        }
        
        // 为整个卡片添加点击事件（点击卡片也可跳转到详情页）
        card.addEventListener('click', function() {
            // 获取经纪人名称
            const agentName = this.querySelector('.name-rating h3').textContent;
            
            // 根据名称确定经纪人ID
            let agentId;
            switch(agentName) {
                case '张明':
                    agentId = 'agent1';
                    break;
                case '王静':
                    agentId = 'agent2';
                    break;
                case '李华':
                    agentId = 'agent3';
                    break;
                default:
                    agentId = `agent${index + 1}`;
            }
            
            // 跳转到经纪人详情页
            window.location.href = `agent-detail.html?id=${agentId}`;
        });
    });
} 